Call centers, such as Automatic Call Distribution or ACD systems, are employed by many enterprises to service customer. A typical call center includes a switch and/or server to receive and route incoming packet-switched and/or circuit-switched calls and one or more resources, such as human agents and automated resources (e.g., Interactive Voice Response (IVR) units), to service the incoming calls. Call centers rely upon expensive dedicated hardware and infrastructure and require agents to be present at the call center to answer calls. Also, call centers distribute calls, whether inbound or outbound, for servicing to any suitable resource according to predefined criteria. In many existing systems, the criteria for servicing the calls from the moment that the call center becomes aware of the contact until the call is connected to an agent are customer-specifiable (i.e., programmable by the operator of the contact center), via a capability called vectoring. Normally in present-day ACDs when the ACD system's controller detects that an agent has become available to handle a contact, the controller identifies all predefined contact-handling skills of the agent (usually in some order of priority) and delivers to the agent the highest-priority oldest call that matches the agent's highest-priority skill. Agents with a higher skill are normally preferred over agents with lower skill levels when assigning an agent to a call. When agents have multiple skills, the controller is more likely to select a call for which the agent has a high skill level over a contact for which the agent has a lesser skill level. Generally, the only condition that results in a call not being delivered to an available agent is that there are no contacts waiting to be handled.
Acquisition and installation of call center systems require dedicated expensive hardware, full-time IT management oversight and knowledge of telecommunication infrastructure. Implementation of such call center systems may take weeks or months. One current system uses a telephone circuit switch to receive calls and signaling into a network. The telephone circuit switch processes the called number to generate and transmit a first query to a Service Control Point (SCP). The SCP processes the first query to generate a second query to a routing processor at a call center. The routing processor at the call center responds to the SCP with routing information, and the SCP responds to the telephone circuit switch with the routing information. The telephone circuit switch then extends the call to another telephone circuit switch connected to the call center based on the routing information. This other telephone circuit switch then transfers the call to the call center over a dedicated Time Division Multiplexing (TDM) line, such as an Integrated Services Digital Network (ISDN) connection. This transfer includes a transfer of the called number. Routing equipment at the call center must process the called number to internally route the call to the destination within the call center. This system is deficient because it forces the routing equipment at the call center to handle dialed number processing. It also does not allow the efficient utilization of packet-based transport technologies.
During a call, an agent may have many browser windows open. Normally, communication between browser windows may be achieved via window handles—a reference to a child browser window held by a parent browser window. For example, when a parent browser window opens a child browser window, the parent browser window stores a reference of the child browser window and may use different functions to communicate with the child browser. However, if the main window is closed or reloaded, the reference is lost and thus communication with the child browser window is lost.
In view of the foregoing, it may be understood that there may be significant problems and shortcomings associated with current call processing system technologies.